package com.wanjia.estate.pojo.tax;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.AccessLevel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;
import java.util.List;


@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class A006 {

    @Data
    public static class Taxbizml<T> implements Serializable {
        @JSONField(name = "YXZLXXJSLIST")
        private List<T> yxzlxxjslist;
    }

    @Data
    @EqualsAndHashCode(callSuper = true)
    public static class RequestSix extends CommonRoot<Taxbizml<RequestYxzlxxjslist>> {

    }

    @Data
    public static class RequestYxzlxxjslist implements Serializable {
        @JSONField(name = "SJBH")
        private String sjbh;
        @JSONField(name = "SJRQ", format = "yyyy-MM-dd")
        private Date sjrq;
        @JSONField(name = "ZLFCLFBZ")
        private String zlfclfbz;
        @JSONField(name = "SJGSDQ")
        private String sjgsdq;
        @JSONField(name = "HTBH")
        private String htbh;
        @JSONField(name = "JYUUID")
        private String jyuuid;
        @JSONField(name = "FWUUID")
        private String fwuuid;
        @JSONField(name = "YXWJXX")
        private List<YXWJXX> yxwjxx;

    }

    @Data
    public static class YXWJXX implements Serializable {
        @JSONField(name = "ZLDM")
        private String zldm;
        @JSONField(name = "YXWJBH")
        private String yxwjbh;
        @JSONField(name = "YXWJMC")
        private String yxwjmc;
        @JSONField(name = "YXWJFILENAME")
        private String yxwjfilename;
        @JSONField(name = "YXWJLX")
        private String yxwjlx;
        @JSONField(name = "SFBB")
        private String sfbb;
        @JSONField(name = "YXWJDZ")
        private String yxwjdz;
    }

//    @Data
//    public static class Response {
//        private int code;
//        private ResponseDataSix data;
//        private String message;
//    }
//    @Data
//    public static class ResponseDataSix implements Serializable {
//        private Taxbizml2 taxbizml;
//    }
//
//    @Data
//    public static class Taxbizml2 implements Serializable {
//        @JSONField(name = "YXZLXXJSLIST")
//        private A006.Yxzlxxjslist yxzlxxjslist;
//    }

    @Data
    @EqualsAndHashCode(callSuper = true)
    public static class Response extends CommonRoot<Taxbizml<Yxzlxxjslist>> {

    }
    // 返回全局信息
    @Data
    public static class Yxzlxxjslist implements Serializable {
        @JSONField(name = "FHM")
        private String fhm;
        @JSONField(name = "FHXX")
        private String fhxx;
        @JSONField(name = "SJBH")
        private String sjbh;
        @JSONField(name = "HTBH")
        private String htbh;
        @JSONField(name = "JYUUID")
        private String jyuuid;
        @JSONField(name = "FWUUID")
        private String fwuuid;
    }
}
